/**
 * 
 */
package model.agent

/**
 * @author lee
 *
 */
interface AgentInterface {

	//一个agent应该有name,subAgents和自身的properties
	//name: String
	//subAgents: map<String, AgentInterface>
	//properties: map<String, AgentvariableInterface>

	//variableMissing()

	
	public String getName()
	public void setName(String name)

	public void addVariable(AgentVariableInterface p)
	public void resetVars()
	//public void removevariable(String name)
	
	public AgentVariableInterface getVariable(String name)


	public void setVarValue(String name, int value)
	public int getVarValue(String name)

	public HashMap getVarsMap()

	public void addSubAgent(AgentInterface agent)

	//public void removeSubAgent(String name)

	public AgentInterface getSubAgent(String name)
	
	public void setVarTimestamp(String name, int timestamp)
	public int getVarTimestamp(String name)
	
}
